home *** CD-ROM | disk | FTP | other *** search
/ Best of Shareware / Best of PC Windows Shareware 1.0 - Wayzata Technology (7111) (1993).iso / mac / DOS / UTILITY / CIPHER15 / CIPHER.DOC < prev    next >
Text File  |  1992-12-05  |  34KB  |  716 lines

  1.  
  2.  
  3.  
  4.                                   CIPHER Ver. 1.5
  5.                         Copyright (c) 1988-1992 Mike Albert
  6.                                    December 1992
  7.  
  8.  
  9.  
  10.      1   INTRODUCTION
  11.  
  12.      Cipher is a program that scrambles files so that no one can use them -
  13.      unless they have the correct key.  (If you're familiar with earlier
  14.      versions of Cipher, look at section 8 to learn about new enhancements.)
  15.      Cipher provides the following benefits:
  16.  
  17.          o   Cipher is easy to use - it protects you from mistakes and helps
  18.              you to remember keys.
  19.  
  20.          o   Cipher is much faster than other programs that provide
  21.              comparable security.
  22.  
  23.          o   Cipher can encrypt files in place, so unerase utilities can't
  24.              recreate them.
  25.  
  26.          o   Cipher can also make a new encrypted file and leave the original
  27.              file untouched - this is useful when sending an encrypted file
  28.              to someone else.
  29.  
  30.          o   Protection is provided by a reliable, documented method that is
  31.              highly resistant to attack - even by expert programmers and
  32.              cryptographic analysts.  For information on the security
  33.              provided by Cipher vs. other products, see section 5.
  34.  
  35.          o   Cipher checks when decrypting a file to ensure that the file
  36.              hasn't been corrupted.
  37.  
  38.          o   Cipher can be used from batch files to provide security
  39.              automatically.
  40.  
  41.          o   Cipher is less expensive than commercially available programs.
  42.  
  43.          o   Cipher guards against changes to itself - you can be sure you
  44.              have an unmodified Cipher and also detect any subsequent
  45.              tampering.
  46.  
  47.          o   All proceeds of Cipher go to Oxfam America, an international
  48.              self-help and disaster relief organization.
  49.  
  50.  
  51.      Cipher encrypts and decrypts files using a cryptographically sound
  52.      method.  Encryption makes a file unintelligible and useless.  Decryption
  53.      is the reverse - it converts the encrypted information to its original
  54.      understandable form.  The encryption is controlled by a key that you
  55.      provide.  You can use any string of characters you like.  When you want
  56.      to use the files, you decrypt them using the same key to return them to
  57.      their original form.  Someone who doesn't know the correct key or
  58.      doesn't have Cipher is powerless to make the file useful again.
  59.  
  60.      Cipher protects you from common errors such as decrypting a file with
  61.      the wrong key, decrypting a file that's not encrypted, or encrypting a
  62.      file twice (unless you specifically request it).  It also helps you
  63.      remember your key - you describe the key when you encrypt (e.g. "my old
  64.      Corvette license number"), and Cipher displays your description when you
  65.  
  66.                                        - 1 -
  67.  
  68.  
  69.      decrypt.  You can control Cipher interactively, with command line
  70.      arguments, or via an MS-DOS environment variable.
  71.  
  72.      Cipher runs on any IBM-compatible computer using MS-DOS 2.00 or later,
  73.      and uses 64K of memory.  All standard display adapters may be used as
  74.      long they display at least 80 characters per line.  Files may reside on
  75.      floppy diskettes, hard disks, or network drives, and be any type or
  76.      size.  Cipher has been successfully tested on three networks: Novell's
  77.      Netware and Netware Lite, and Digital Equipment Corporation's Pathworks.
  78.      The only problem occurs with Pathworks: files with some VMS Record
  79.      Formats, e.g. Variable, cannot be encrypted.  The Stream Record Format
  80.      works fine.
  81.  
  82.      Note that Cipher keeps people from understanding and using the contents
  83.      of your files, but doesn't prevent normal file operations such as
  84.      deleting, copying, or renaming.  If you're concerned about someone
  85.      destroying your data, Cipher doesn't help.  Cipher does protect against
  86.      the introduction of false information.  Someone can modify an encrypted
  87.      file, but they can't achieve a specific result because decryption
  88.      affects their changes in an unpredictable way.  Consequently a file that
  89.      is modified in its encrypted form will have garbage in the changed
  90.      portion of the file when it's decrypted.
  91.  
  92.      Remember that you MUST specify the correct key to decrypt a file and
  93.      make it useful again.  Cipher will help you recall the key and tell you
  94.      if you enter the wrong one, but it doesn't remember the key for you.  If
  95.      you forget the key there are no shortcuts or bypasses - you're stuck
  96.      with a useless file!  Since Cipher encrypts files in-place to ensure
  97.      security, Norton utilities or the like won't help.  Cipher has no
  98.      trapdoors that let you, me, or anyone else decrypt a file without the
  99.      key, so BE CAREFUL!
  100.  
  101.      If you want to try out Cipher right now, just run Cipher with no command
  102.      line arguments.  Cipher will display a brief description of its
  103.      operation that you can use to get started.  While you're getting used to
  104.      Cipher, be sure to work in a test directory with test files to ensure
  105.      that you don't irrevocably scramble something important.
  106.  
  107.  
  108.  
  109.      2   OPERATION
  110.  
  111.      You control Cipher by command line arguments that specify the commands
  112.      to be performed, options, and the files to be encrypted or decrypted.
  113.      The commands and options must precede the files on the command line and
  114.      be separated with blanks.  You can specify multiple options, but only
  115.      one command.  You can use one of the following commands:
  116.  
  117.          COMMAND     MEANING     EXPLANATION
  118.  
  119.          -e          Encrypt     Encrypts the files and prompts you for the
  120.                                  key.  You are only prompted once - the key
  121.                                  you enter is used for all the files.
  122.  
  123.          -e<key>     Encrypt     Encrypts the files using <key>.
  124.  
  125.          -d          Decrypt     Decrypts the files and prompts for the key.
  126.                                  Cipher will only decrypt encrypted files.
  127.                                  If the files were encrypted with the -i
  128.                                  option, Cipher helps you remember the key by
  129.                                  displaying the key description you provided.
  130.  
  131.                                       - 2 -
  132.  
  133.  
  134.                                  If the key you specify is incorrect, Cipher
  135.                                  prompts you for the correct key.
  136.  
  137.          -d<key>     Decrypt     Decrypts the files using <key>.  This
  138.                                  command works like -d above except that the
  139.                                  key provided with the command is used.
  140.  
  141.          -c          Checksum    Computes the cryptographic checksum of
  142.                                  Cipher files so you can ensure that Cipher
  143.                                  has not been corrupted or modified.  See
  144.                                  section 3 for more information.
  145.  
  146.  
  147.      You can use the following options:
  148.  
  149.          OPTION      MEANING     EXPLANATION
  150.  
  151.          -i<desc>    Info        Saves a description of the key used to
  152.                                  encrypt the files.  When you encrypt or
  153.                                  decrypt the files, Cipher displays the
  154.                                  description for you in the key prompt.  For
  155.                                  example, you could use "my student id number
  156.                                  at Penn State".
  157.  
  158.          -r          Re-encrypt  Lets you encrypt a file even if it is
  159.                                  already encrypted.  This is useful when two
  160.                                  people want to control the use of one file -
  161.                                  each person can encrypt with his own
  162.                                  password.  Encrypting a file more than once
  163.                                  also provides even greater security.  A file
  164.                                  encrypted more than once must be decrypted
  165.                                  in reverse order of encryption, i.e. the
  166.                                  first decryption must use the key from the
  167.                                  last encryption.
  168.  
  169.          -s          Suppress    Suppresses screen list of the name of each
  170.                                  file processed or skipped - only a summary
  171.                                  is shown.  Error messages are not
  172.                                  suppressed.
  173.  
  174.          -q          Quiet       Suppresses screen list of all informational
  175.                                  messages.  Error messages are not
  176.                                  suppressed.
  177.  
  178.  
  179.      If you specify the file names on the command line as described above,
  180.      Cipher encrypts or decrypts the files in place.  File names can include
  181.      drive letters, paths, and wild-card characters ("*" and "?") in the
  182.      standard MS-DOS format.  To specify multiple file names, separate the
  183.      names with spaces.
  184.  
  185.      If you want to make a new file and leave the original file untouched,
  186.      use input and output redirection (invoked via the "<", ">", and "|"
  187.      command line options) to identify the files.  File redirection is
  188.      described in the MS-DOS Reference manual under "Redirecting Command
  189.      Input and Output".  You can only process one file at a time this way.
  190.      Make sure the input and output file are different, or the file will be
  191.      destroyed.  An example of redirection is shown below.
  192.  
  193.  
  194.  
  195.  
  196.                                       - 3 -
  197.  
  198.  
  199.      Some examples of Cipher use are as follows:
  200.  
  201.                    cipher  -eMike  -i"my first name"  test.*
  202.  
  203.          All files in the current directory matching the name test.* are
  204.          encrypted in place using key "Mike".  When you decrypt the files the
  205.          key description (i.e. "my first name") will be shown with the
  206.          prompt.
  207.  
  208.                    cipher  -d  a:\mp\data\*.*  a:\wp\*.*
  209.  
  210.          All files on drive a: in directory \mp\data and \wp that were
  211.          previously encrypted are decrypted in place.  Unencrypted files are
  212.          left alone.  You are prompted for the decryption keys.  Cipher
  213.          remembers the keys you enter during the run, and only prompts you
  214.          for different keys.
  215.  
  216.                    cipher  -eMike
  217.  
  218.          All files specified interactively (i.e. in response to Cipher's
  219.          prompt) are encrypted in place using the key "Mike".
  220.  
  221.                    cipher  -eMike  <letter.src  >letter.snd
  222.  
  223.          File letter.src is encrypted with key "Mike" and written to file
  224.          letter.snd.  File letter.src is not altered.
  225.  
  226.  
  227.  
  228.      If you want to interrupt Cipher at any time press Ctrl-C.  If Cipher is
  229.      waiting for input from you it will terminate immediately.  If Cipher is
  230.      encrypting or decrypting a file, it will terminate when the operation is
  231.      complete.
  232.  
  233.  
  234.  
  235.      3   SECURITY ISSUES
  236.  
  237.      Note that Cipher gives you the capability to protect your information,
  238.      but doesn't guarantee safety.  To be sure your files are secure, there
  239.      are several things you should remember:
  240.  
  241.          1.  Don't hard-code your keys in batch files.  Anyone can run or
  242.              examine them and decrypt your files.
  243.  
  244.          2.  Don't use keys that can be easily guessed, such as your initials
  245.              or your children's names.  This sort of thing is the first
  246.              method most attackers will try.
  247.  
  248.          3.  Don't write your keys down and leave them somewhere they can be
  249.              found.
  250.  
  251.          4.  Be careful with the -i (key description) option.  To be safe,
  252.              you must refer to information only YOU know.
  253.  
  254.          5.  Use long keys.  It's common to use short keys because they're
  255.              easy to remember and enter.  The problem is that exhaustive
  256.              testing of all short keys could succeed with relatively little
  257.              effort.  Use at least 8 randomly-chosen characters for good
  258.              protection, and 20 for maximum security.  Another good approach
  259.              is to use a phrase, e.g. "other red system".  Phrases are easy
  260.  
  261.                                       - 4 -
  262.  
  263.  
  264.              to remember, and provide excellent protection if chosen
  265.              randomly.
  266.  
  267.          6.  Make sure that no copies of confidential files remain on unused
  268.              portions of your disk.  This problem can occur any time a
  269.              program (e.g. a WP editor or spreadsheet) updates a file.  A
  270.              knowledgeable user can poke around the disk (using an undelete
  271.              utility or disk editor) looking for interesting stuff.  If you
  272.              aren't careful, copies of information that you've carefully
  273.              encrypted can be recovered by an unauthorized person.
  274.  
  275.              The first place your data may appear is in unallocated disk
  276.              clusters.  This happens when you delete a file that contains
  277.              confidential data.  An undelete program can recreate the file if
  278.              it is run before the space is used for another file.  You can
  279.              zero this space with Zerofree, a shareware program I distribute.
  280.              Zerofree can clear all unallocated data space and directory
  281.              entries so your data cannot be recovered.
  282.  
  283.              The second location is tougher because your confidential data
  284.              can be at the end of ANY file, not just the one you're using.
  285.              This problem occurs when you delete a confidential file, and the
  286.              freed space is allocated to another file (but only partially
  287.              written into) when the file is created or extended.  Cipher
  288.              takes care of the file being encrypted by zeroing the unused
  289.              area at its end, but it doesn't do the same for other files on
  290.              the disk.  You can use Zerofree to clear this space too.  Make
  291.              sure that you run Zerofree on any files created or changed by
  292.              any program that runs after any file containing confidential
  293.              information has been deleted or changed.
  294.  
  295.          7.  Use the cryptographic checksum feature to protect against Trojan
  296.              horses or other attacks.  It's surprisingly simple for a
  297.              knowledgeable attacker to patch a program so it does what he
  298.              wants.
  299.  
  300.              To compute the cryptographic checksum, run Cipher with the -c
  301.              command.  Cipher asks you for a key, combines this key
  302.              cryptographically with the file, computes the checksum, and
  303.              displays it.  You can use any key you want.  If anyone changes
  304.              the file or you use a different key, the checksum changes too.
  305.              Someone who wants to compromise Cipher is frustrated because
  306.              they don't know what key you are using, so they can't make the
  307.              corrupted Cipher display the right checksum.  If you compute the
  308.              checksum when you receive Cipher and write down the key and
  309.              checksum in a safe place, you can recompute the checksum at any
  310.              time to check for changes.  As long as you keep your key secret
  311.              (and you started with an unmodified Cipher), no one can change
  312.              Cipher and still have it produce the same checksum.
  313.  
  314.              The cryptographic checksum feature can also detect corruption of
  315.              Cipher that occurred before you received it.  You can detect
  316.              Trojan horses, viruses, or any other alterations to both the
  317.              program and this documentation.  To test for changes you use a
  318.              key/checksum combination that you can request from me you when
  319.              you register.  You compute the checksum for your Cipher using
  320.              the key I provide.  If your Cipher doesn't display the checksum
  321.              I send, your copy of Cipher is corrupted.  Since I send a
  322.              different key (and checksum) to each registered user, no
  323.              attacker will be able to obtain your key and checksum and
  324.              circumvent the protection.  (Note that when you run any unknown
  325.  
  326.                                       - 5 -
  327.  
  328.  
  329.              program, including Cipher, you run the risk of it performing
  330.              mischief on your system, so be careful.  It's probably not too
  331.              helpful to learn that the checksum is invalid if a Trojan horse
  332.              has just erased your disk!)
  333.  
  334.      This all sounds obvious (except for items 6 and 7), but many attempts at
  335.      security are compromised because of this type of carelessness.
  336.  
  337.  
  338.  
  339.      4   OPERATIONAL DETAILS
  340.  
  341.      If you don't specify enough information via the command line, Cipher
  342.      prompts you.  If you don't code -e or -d, Cipher asks if you want to
  343.      encrypt or decrypt.  Cipher also prompts you for the key, the key
  344.      description, or the file names if you don't specify them.  You can press
  345.      ESC at a key or description prompt to skip the current file and go on.
  346.      File names can include drive letters, paths, and wild-card characters in
  347.      the standard MS-DOS format.  To specify multiple file names separate the
  348.      names with spaces.  When you enter file names from the prompt, Cipher
  349.      lists the name of any files skipped, even if you specified the -s or -q
  350.      option.
  351.  
  352.      You may also specify commands and options (but not files) in the
  353.      environment variable CIPHROPT.  You can use all commands and options
  354.      available from the command line.
  355.  
  356.      Here are some other points that may be of interest:
  357.  
  358.          1.  Cipher is careful not to encrypt itself.  This protects you from
  359.              scrambling Cipher and having no way to unscramble it.
  360.  
  361.          2.  When Cipher encrypts or decrypts a file it doesn't alter the
  362.              file's attributes or date/time stamp.
  363.  
  364.          3.  Cipher will not alter files with the system, hidden, or read-
  365.              only attributes.
  366.  
  367.          4.  Encrypted files contain all 256 character combinations even if
  368.              the original file only contained ASCII.  If you want to transmit
  369.              an encrypted file via a modem make sure you use a communication
  370.              protocol that supports binary files.
  371.  
  372.          5.  The key may consist of up to 50 printable characters.  Upper and
  373.              lower case characters are considered to be different.  If you
  374.              enter too many characters or a non-printable character you are
  375.              notified.
  376.  
  377.          6.  Cipher checks files when it decrypts them to determine if they
  378.              have been damaged.  When Cipher detects a damaged file it
  379.              notifies you of the problem.  Cipher does its best to decrypt a
  380.              damaged file, but cannot proceed if the encryption mark at the
  381.              end of the file is damaged.
  382.  
  383.          7.  It is possible that on a full disk Cipher will run out of disk
  384.              space when it tries to append the encryption mark to the end.
  385.              (The mark is described in section 5.)  If this occurs you will
  386.              be warned.  No damage results - Cipher does not encrypt the file
  387.              in this case.  This problem doesn't occur with decryption.
  388.  
  389.  
  390.  
  391.                                       - 6 -
  392.  
  393.  
  394.          8.  It is possible that even with the safeguards built into Cipher
  395.              and careful use you will find yourself with an encrypted file
  396.              and only a vague memory of the key.  If you just can't guess the
  397.              right key, you're stuck.  Perhaps a close personal friend who
  398.              works for the National Security Agency could help, but short of
  399.              that there is no way to recover.  I can't help you.  Sorry, but
  400.              that is, after all, the whole point of this product.
  401.  
  402.  
  403.  
  404.      5   TECHNICAL INFORMATION
  405.  
  406.      The encryption method used in Cipher is described in the paper "Wide-
  407.      Open Encryption Design Offers Flexible Implementations" by Robert Scott,
  408.      CRYPTOLOGIA, January 1985.  Scott's method uses principles derived from
  409.      the Data Encryption Standard (DES), a standard for commercial and non-
  410.      military governmental data encryption adopted by the National Bureau of
  411.      Standards in 1977.  The Scott method employs a longer key (providing
  412.      greater security) and executes more rapidly than the DES method.  The
  413.      algorithm is coded in assembly language and optimized to make it as fast
  414.      as possible.
  415.  
  416.      Cipher uses the Scott method in Cipher Feed Back mode.  This makes the
  417.      encrypted text more secure, and ensures that patterns in the source file
  418.      cannot be detected in the encrypted file.  It also allows a random value
  419.      (based on the time of day) to be introduced into the encryption
  420.      calculation, so that each time a file is encrypted it's represented
  421.      differently.  This increases the difficulty of applying cryptanalysis
  422.      techniques to attempt to decrypt a file without the key, and prevents
  423.      attackers from identifying equal files.
  424.  
  425.      Cipher takes additional measures to ensure security.  Files are
  426.      encrypted and decrypted in place (except when file redirection is used)
  427.      to ensure that the original contents of the file are overwritten.  This
  428.      also avoids running out of space on full disks.  When files are
  429.      encrypted in place, the unused portion of the last cluster of the file
  430.      (which often replicates data in the file) is zeroed so that no
  431.      unencrypted information can be found there.
  432.  
  433.      It should be noted that methods used by many commercial encryption
  434.      products are not as secure as claimed.  The paper "A survey of Data
  435.      Insecurity Packages" by Martin Kochanski, CRYPTOLOGIA, January 1987,
  436.      evaluated the methods used by SuperKey (Borland International), Padlock
  437.      (Sovereign Software), PS3 (Stralfors Data Products), Crypt (BCS), and
  438.      N-Code (K+L Software).  Kochanski found that "all these packages are
  439.      vulnerable to known-plaintext attacks; some with as few as 6 bytes of
  440.      plaintext needed.  Moreover, all the packages except N-Code can be
  441.      broken quite effectively without any known plaintext at all."  He
  442.      demonstrated his point by breaking the packages using standard
  443.      cryptanalysis techniques and an IBM PC.
  444.  
  445.      Weaknesses similar to those found by Kochanski exist in the encryption
  446.      provided in many popular spreadsheet, word processing, and compression
  447.      products.  Commercial cryptanalysis programs that can decrypt such files
  448.      without the password are available.  If you rely on such encryption
  449.      you're vulnerable not only to cryptanalysts, but also to anyone who buys
  450.      a cryptanalysis program!  The bottom line is that if you want to be sure
  451.      that your files are secure, you must be very careful in selecting an
  452.      encryption package.
  453.  
  454.  
  455.  
  456.                                       - 7 -
  457.  
  458.  
  459.      Kochanski did not examine Cipher.  He did point out the weakness of the
  460.      methods he examined - "All the packages we have looked at suffer from a
  461.      lack of diffusion: a small change in the plaintext causes only a small
  462.      change in the ciphertext."  In the Scott method, each bit of plaintext
  463.      affects 64 bits of ciphertext.  This diffusion is the same provided with
  464.      the DES method.
  465.  
  466.      The marking feature that enables Cipher to recall information about an
  467.      encrypted file is implemented by appending information to the end of a
  468.      file when it is encrypted.  This information contains an encryption
  469.      signature (used to determine if the file is encrypted), the key
  470.      description (that is displayed in the decryption key prompt), the random
  471.      initial Cipher Feed Back value (used to initialize the decryption
  472.      calculation),  a checksum (used to detect corruption of the file), and
  473.      some encrypted text (used to recognize the correct key at decryption
  474.      time).  Note that the encryption key itself if NOT included.  The file
  475.      is returned to its original length when it is decrypted.
  476.  
  477.      The cryptographic checksum feature was suggested by Dr. Fred Cohen in
  478.      the paper "A Cryptographic Checksum for Integrity Protection",
  479.      Computers & Security #6, 1987.  Cipher uses the Scott encryption method
  480.      instead of the RSA cryptosystem and reduction in modulus described by
  481.      Cohen.  Each block of the file is combined with a number indicating its
  482.      position in the file, encrypted with the user-provided key, and added
  483.      (without carry) into the cumulative checksum.  As a result any change in
  484.      a character of the file or its position is reflected in the checksum.
  485.  
  486.  
  487.  
  488.      6   LICENSING, WARRANTY, and REGISTRATION
  489.  
  490.      Cipher is distributed as shareware.  I encourage you to try the program
  491.      and share it with friends as long as:
  492.  
  493.          1.  The Cipher program, this documentation, and any other Cipher
  494.              files are not modified and are distributed together.
  495.  
  496.          2.  Cipher is not provided as a part of any other product.
  497.  
  498.          3.  No fees, beyond a reasonable fee for media, duplication, or
  499.              downloading costs, are charged.
  500.  
  501.          4.  Cipher is not used for commercial, government, or business
  502.              purposes without registration.  Each registration is for a
  503.              single person or a single computer.
  504.  
  505.  
  506.      If you decide to use Cipher regularly you are required to register.  All
  507.      proceeds from Cipher are directed to Oxfam America, an international
  508.      self-help and disaster relief organization that I've supported for many
  509.      years.  You can find more about Oxfam by reading section 7.  If you
  510.      register you get the satisfaction of saving lives in Africa, Asia, and
  511.      South America, and encourage me to produce more software at reasonable
  512.      prices.  You also get the following benefits:
  513.  
  514.          If you request, I'll provide a key/checksum pair for each Cipher
  515.          file.  You can then verify that the Cipher you have received is
  516.          unmodified and contains no Trojan horses, computer viruses, or other
  517.          illegitimate changes.
  518.  
  519.  
  520.  
  521.                                       - 8 -
  522.  
  523.  
  524.          I'll answer questions on Cipher and its use.  You can contact me at
  525.          the address shown below or via CompuServe mail.
  526.  
  527.          I'll make an attempt (but no guarantee!) to fix any problems you
  528.          find.
  529.  
  530.          If any important bugs are found I will notify you.  I'll do the same
  531.          for any flaws found in the encryption method that compromise
  532.          security.
  533.  
  534.          I'll send an updated version of Cipher to you at no additional cost.
  535.          You can request this when I notify you of a new version, when I've
  536.          fixed a bug you have found, or any other time.  I'll only do this
  537.          once per registered user.
  538.  
  539.  
  540.      Registration is $40.  Please make your check payable to Oxfam America -
  541.      I'll send your checks to Oxfam and record your registration information.
  542.      I'll also accept original canceled checks or receipts from Oxfam that
  543.      list you as the donor.  Please send payments, registration information,
  544.      and any other correspondence to:
  545.  
  546.                 Mike Albert
  547.                 P. O. Box 535
  548.                 Bedford, MA   01730
  549.  
  550.      I can also be reached via CompuServe mail; my userid is [70325,1134].
  551.  
  552.      Anyone can order the latest version of Cipher directly from me for a fee
  553.      of $5.00.  Just send the order (make sure it contains your mailing
  554.      address) with your check to the above address.  You'll receive a 5 1/4
  555.      inch 360K floppy disk containing the Cipher executable and documentation
  556.      files.  If you need other formats (5 1/4 inch 1.2Mb or 3 1/2 inch 720Kb
  557.      or 1.44Mb) I can provide them.  If you live outside North America,
  558.      please send extra money for the increased postage.
  559.  
  560.      I welcome all comments and suggestions concerning Cipher.  I'd like to
  561.      know how you are using Cipher and what problems, bugs, or weaknesses you
  562.      find.  If you tell me about enhancements or changes you're interested
  563.      in, I'll make an effort to provide them.  I'll also include other
  564.      shareware products I produce.  I'd also like to know what other products
  565.      you would like to see.
  566.  
  567.      This program is provided "as is" without warranty of any kind, either
  568.      express or implied, but not limited to the implied warranties of
  569.      merchantability or fitness for a particular purpose.  The entire risk as
  570.      to the results and performance of the program is assumed by the user.
  571.      Should the program prove defective, the user assumes the entire cost of
  572.      all necessary servicing, repair, or correction.
  573.  
  574.  
  575.  
  576.      7   OXFAM AMERICA
  577.  
  578.      As stated in Oxfam literature,
  579.  
  580.          "Oxfam America is an international agency that funds self-help
  581.          development projects and disaster relief in poor countries in
  582.          Africa, Asia, and Latin America, and also prepares and distributes
  583.          educational materials for people in the United States on the issues
  584.          of development and hunger.  The name "Oxfam" comes from the Oxford
  585.  
  586.                                       - 9 -
  587.  
  588.  
  589.          Committee for Famine Relief, founded in England in 1942.  Oxfam
  590.          America, based in Boston, was formed in 1970, and is one of seven
  591.          autonomous Oxfams around the world (Great Britain, Australia,
  592.          Belgium, Canada, Quebec, Hong Kong and the United States).  Oxfam is
  593.          a nonsectarian, nonprofit agency that neither seeks or accepts U.S.
  594.          government funds.  All contributions are tax-deductible to the
  595.          extent permitted by law."
  596.  
  597.      For more information, you can phone Oxfam at 617-482-1211, or write to
  598.      them at:
  599.  
  600.                   Oxfam America
  601.                   26 West Street
  602.                   Boston, MA  02111-1206
  603.  
  604.  
  605.  
  606.      8   REVISION HISTORY
  607.  
  608.          CIPHER version 1.5 - 12/5/92
  609.  
  610.              Changed operation of the Scott encryption algorithm from
  611.              Electronic Code Book mode to Cipher Feed Back mode to improve
  612.              security.
  613.  
  614.              Added use of a random number when encrypting so that every time
  615.              a file is encrypted it's represented differently.  This
  616.              increases the difficulty of applying cryptanalysis techniques to
  617.              attempt to decrypt a file without the key, and prevents
  618.              attackers from identifying equal files.
  619.  
  620.              Added use of a random number when creating the key checking text
  621.              stored in the encrypted file.  This prevents an attacker from
  622.              examining two files to determine if they were encrypted with the
  623.              same key.
  624.  
  625.              Encoded the key description (specified by the -i option) in the
  626.              encrypted file so that it's not visible when the file is viewed.
  627.  
  628.              Corrected a problem that precluded encrypting files residing on
  629.              Novell network drives.
  630.  
  631.              Corrected a problem that precluded encrypting files residing on
  632.              DEC PathWorks network drives and very large conventional drives.
  633.  
  634.              Note: Earlier versions of Cipher can't decrypt files encrypted
  635.                 by version 1.5.  Version 1.5, however, can decrypt files
  636.                 encrypted by earlier Cipher versions.
  637.  
  638.  
  639.          CIPHER version 1.4 - 9/25/92
  640.  
  641.              Added a test for corruption of encrypted files.  The test is
  642.              performed when a file is decrypted.
  643.  
  644.              Added the option to skip a file when entering a decryption key.
  645.              This is useful when you can't remember the key of one file, but
  646.              want to continue with the rest.  To bypass the file, press Esc
  647.              at the key prompt.
  648.  
  649.              Corrected minor problems.
  650.  
  651.                                       - 10 -
  652.  
  653.  
  654.              Updated the documentation to show new mailing address and
  655.              CompuServe contact information.
  656.  
  657.              Note: Earlier versions of Cipher can't decrypt files encrypted
  658.                 by version 1.4.  Version 1.4, however, can decrypt files
  659.                 encrypted by earlier Cipher versions.
  660.  
  661.  
  662.          CIPHER version 1.3 - 3/18/90
  663.  
  664.              Added -q option to suppress all informational messages.
  665.  
  666.  
  667.          CIPHER version 1.2 - 8/1/89
  668.  
  669.              Added decryption of files encrypted by earlier versions of
  670.              Cipher.  Version 1.2 will decrypt files encrypted by versions
  671.              1.00 and 1.1.  Versions 1.00 and 1.1 can only decrypt files
  672.              encrypted by themselves.
  673.  
  674.              Added encryption of files that are already encrypted.  This lets
  675.              two people control the use of one file - each person can encrypt
  676.              with his own password.  It also provides even greater security.
  677.              The feature is invoked via the -r option.
  678.  
  679.  
  680.          CIPHER version 1.1 - 7/1/89
  681.  
  682.              Added encryption/decryption of files without overwriting
  683.              original file.
  684.  
  685.              Enhanced encryption method to ensure that patterns in the
  686.              original file cannot be detected by examining the encrypted
  687.              file.  Note that files generated by Cipher versions 1.00 and 1.1
  688.              are incompatible.
  689.  
  690.              Directed all Cipher proceeds to Oxfam America.
  691.  
  692.              Improved some messages.
  693.  
  694.  
  695.          CIPHER version 1.00 - 3/30/88
  696.  
  697.              Original program.
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.                                       - 11 -